package com.yunxin.core.application.dto.channel;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author zero°
 * @since 2023-05-30
 */
@Data
@Schema(description = "渠道推广单价配置对象")
public class ChannelPromotionUnitPriceConfigDTO implements Serializable {

    /**
     * 推广id
     */
    @Schema(description = "推广id")
    private Long promotionId;
    /**
     * 生效时间
     */
    @Schema(description = "生效时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date takeEffectTime;
    /**
     * 计费类型 1.cpa
     */
    @Schema(description = "计费类型 1.cpa")
    private Integer chargedType;
    /**
     * 计费单价
     */
    @Schema(description = "计费单价")
    private BigDecimal chargedPrice;

    /**
     * 计费方式 1.注册 2.下载 3.uv 4.表单
     */
    @Schema(description = "计费方式 1.注册 2.下载 3.uv 4.表单")
    private Integer chargedWay;
    /**
     * 税率
     */
    @Schema(description = "税率")
    private BigDecimal taxRate;
    /**
     * 结算周期类型 1.预付 2.日结 3.周结 4.月结
     */
    @Schema(description = "结算周期类型 1.预付 2.日结 3.周结 4.月结")
    private Integer settlementCycleType;

}
